﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Com.GUI;
using Com.BU;
using Com.DA;
using ColdStorage.DOL;

namespace ColdStorage.GUI
{
    /// <summary>
    /// Interaction logic for ucInternalLoadCold.xaml
    /// </summary>
    public partial class ucInternalLoadCold : UserControl
    {
        public int Product_type;
        public int Product_id;
        public int ProductStorageTemp;
        public int ProductInputTemp;

        public ucInternalLoadCold()
        {
            InitializeComponent();
            loadInternalInfo();
        }

        private void radIn_Checked(object sender, System.Windows.RoutedEventArgs e)
        {
        	// TODO: Add event handler implementation here.
			this.lblPerform.IsEnabled = false;
			this.cbxPerformance.IsEnabled = false;
        }

        private void RadOut_Checked(object sender, System.Windows.RoutedEventArgs e)
        {
        	// TODO: Add event handler implementation here.
			this.lblPerform.IsEnabled = true;
			this.cbxPerformance.IsEnabled = true;
        }

        public void loadInternalInfo()
        {
            //Công suất máy
            cbxCapacity.Items.Clear();
            for (int i = 1; i <=16 ; i++)
            {
                cbxCapacity.Items.Add(i);
            }
            //Hiệu suất máy
            cbxPerformance.Items.Clear();
            double dbPerformance = 45;
            for (int j = 0; j < 7; j++)
            {
                dbPerformance+=5;
                cbxPerformance.Items.Add(dbPerformance);
            }

            //Nhiệt lượng tỏa ra khi chiếu sáng 1m2
            cbxLightingHeat.Items.Clear();
            cbxLightingHeat.Items.Add("1.2");
            cbxLightingHeat.Items.Add("4.5");

            //Entanpi của không khí
            txtEnthalpyAirInside.Clear();
            txtEnthalpyAirOurside.Clear();
            txtEnthalpyAirInside.Text = "15";
            txtEnthalpyAirOurside.Text = "126";

            //Các hệ số do thông gió
            double dbMultipleCycle = 0;
            cbxVentilateMultipleCycle.Items.Clear();
            for (int k = 0; k < 2; k++)
            {
                dbMultipleCycle += 5;
                cbxVentilateMultipleCycle.Items.Add(dbMultipleCycle);
            }

            cbxVentilateAirDensity.Items.Clear();

            double dbAirDensity = 1.3;
            //Math.Round(dbAirDensity, 1);
            for (int l = 1; l < 7; l++)
            {
                dbAirDensity += 0.1;
                
                cbxVentilateAirDensity.Items.Add(dbAirDensity);
            }          
        }

        private void ucInternalLoad_Loaded(object sender, RoutedEventArgs e)
        {
            //loadInternalInfo();
        }

        private void btnApply_Click(object sender, RoutedEventArgs e)
        {
            
        }

        private void txtRespiratỉonInput_MouseEnter(object sender, MouseEventArgs e)
        {
            //Kiểm tra nếu sản phẩm là thực vật thì enable textbox cho nhập nhiệt do hô hấp
            // Ngược lại là động vật thì sẽ disable
            //txtPeopleNumber.Text = Product_type.ToString();
            if (Product_type == 1)
            {
                txtRespirationInput.IsEnabled = false;
                txtRespirationStorage.IsEnabled = false;
                MessageBox.Show("Động vật nên không tính nhiệt hô hấp");
            }
            else               
            {
                if (Product_type == 2)
                {
                    txtRespirationInput.IsEnabled = true;
                    txtRespirationStorage.IsEnabled = true;

                    try
                    {
                        //txtRespirationStorage.Text = Product_id.ToString();

                        LibraryManagerInCom.loadProduct();
                        LibraryManagerInCom.loadRespirationList();
                        //tb_respiratory_heat enthalpy = (tb_enthalpy)cbxStorageTemp.SelectedItem;
                        //tb_product product = (tb_product)cbxInsideStorage.SelectedItem;
                        tb_respiratory_heat rh = LibraryManagerInCom.RespirationList.SingleOrDefault
                           (s => s.product_id == Product_id && s.temperature == ProductInputTemp);

                        tb_respiratory_heat rh2 = LibraryManagerInCom.RespirationList.SingleOrDefault
                           (s => s.product_id == Product_id && s.temperature == ProductStorageTemp);

                        txtRespirationInput.Text = rh.heat.ToString();
                        txtRespirationStorage.Text = rh2.heat.ToString();
                    }
                    catch (Exception ex)
                    {

                        MessageBox.Show("Chưa có dữ liệu về nhiệt do hô hấp cho loại này");
                    }
                }
                
            }
        }

        //private void cbxPerformance_SelectionChanged(object sender, SelectionChangedEventArgs e)
        //{

        //}

    }
}
